package cohesion.net
{
	import flash.events.IEventDispatcher;
	

	/**
	 * 加载项接口
	 * @author 徐俊杰
	 * @date 2012-2-22
	 */
	public interface ILoadItem
	{
		/**
		 * 停止加载
		 * 
		 */		
		function stop():void;
		
		/**
		 * 开始加载
		 * 
		 */		
		function start():void;
		
		/**
		 * 加载器 
		 */
		function get loader():*;
		function set loader(value:*):void;
		
		/**
		 * 加载状态，参考LoadItemStatus类 
		 * @see LoadItemStatus
		 */
		function get status():int;
		function set status(value:int):void;
		
		/**
		 * 加载的字节数，未开始加载的项，此值为0 
		 */
		function get bytesLoaded():Number;
		
		/**
		 * 总的字节数，未开始加载的项，此值为0
		 */
		function get bytesTotal():Number;
		
		/**
		 *  已消耗的加载时间
		 */
		function get time():Number;
		
		/**
		 *  已用的加载次数，对于从未开始加载的对象；对于第一次开始加载的对象此值为1
		 */
		function get triedNumber():uint;
		function set triedNumber(value:uint):void;
		/**
		 *  尝试加载的最大次数
		 *  尝试的数次超过此值，仍然未加载成功的项，将停止加载
		 */
		function get maxTries():uint;
		function set maxTries(value:uint):void;
		
		/**
		 * 标识符 
		 */
		function get key():String;
		function set key(value:String):void;
		
		/**
		 * 路径 
		 */
		function get url():String;
		function set url(value:String):void;
		
		/**
		 * 开始加载时间 
		 */
		function get startTime():Number;
		function set startTime(value:Number):void;
		
		/**
		 * 加载完成时间 
		 */
		function get completeTime():Number;
		function set completeTime(value:Number):void;
	}
}